package com.wing.bill.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;

@Mapper
public interface SpecReportDao {
    List<HashMap> list(@Param("begin") LocalDateTime localDateTime, @Param("end")LocalDateTime localDateTime1, @Param("code")String code, @Param("param")String param);

    HashMap queryTopOne(@Param("begin")LocalDateTime startTime, @Param("end")LocalDateTime endTime, @Param("mainCabCode")String mainCabCode, @Param("code")String code);

    HashMap queryTopTwo(@Param("mainCabCode")String mainCabCode, @Param("code")String code);

    HashMap queryTopThree(@Param("begin")LocalDateTime startTime, @Param("end")LocalDateTime endTime, @Param("mainCabCode")String mainCabCode, @Param("code")String code);

    HashMap queryTopFour(@Param("begin")LocalDateTime startTime, @Param("end")LocalDateTime endTime, @Param("mainCabCode")String mainCabCode, @Param("code")String code);

    HashMap queryTopFive(@Param("begin")LocalDateTime startTime, @Param("end")LocalDateTime endTime, @Param("mainCabCode")String mainCabCode, @Param("code")String code);

    HashMap queryTopSix(@Param("begin")LocalDateTime startTime, @Param("end")LocalDateTime endTime, @Param("mainCabCode")String mainCabCode, @Param("code")String code);

    List<HashMap> queryTopOneClick(@Param("begin")LocalDateTime startTime, @Param("end")LocalDateTime endTime, @Param("mainCabCode")String mainCabCode, @Param("code")String code);

    List<HashMap> queryTopTwoClick(@Param("mainCabCode")String mainCabCode, @Param("code")String code);

    List<HashMap> queryTopThreeClick(@Param("begin")LocalDateTime startTime, @Param("end")LocalDateTime endTime, @Param("mainCabCode")String mainCabCode, @Param("code")String code);

    List<HashMap> queryTopFourClick(@Param("begin")LocalDateTime startTime, @Param("end")LocalDateTime endTime, @Param("mainCabCode")String mainCabCode, @Param("code")String code);

    List<HashMap> queryTopFiveClick(@Param("begin")LocalDateTime startTime, @Param("end")LocalDateTime endTime, @Param("mainCabCode")String mainCabCode, @Param("code")String code);

    List<HashMap> queryTopSixClick(@Param("begin")LocalDateTime startTime, @Param("end")LocalDateTime endTime, @Param("mainCabCode")String mainCabCode, @Param("code")String code);

    List<HashMap> queryFirstChart(@Param("begin")LocalDateTime startTime, @Param("end")LocalDateTime endTime, @Param("mainCabCode")String mainCabCode, @Param("code")String code, @Param("param")String param);

    HashMap queryFirstChartTotal(@Param("begin")LocalDateTime startTime, @Param("end")LocalDateTime endTime, @Param("mainCabCode")String mainCabCode, @Param("code")String code);

    List<HashMap> querySecondChart(@Param("begin")LocalDateTime startTime, @Param("end")LocalDateTime endTime, @Param("mainCabCode")String mainCabCode, @Param("code")String code, @Param("param")String param, @Param("other")String other);

    HashMap querySecondChartTotal(@Param("begin")LocalDateTime startTime, @Param("end")LocalDateTime endTime, @Param("mainCabCode")String mainCabCode, @Param("code")String code, @Param("other")String other);

    List<HashMap> queryThirdChart(@Param("mainCabCode")String mainCabCode, @Param("code")String code, @Param("param")String param);

    HashMap queryThirdChartTotal(@Param("mainCabCode")String mainCabCode, @Param("code")String code);
}
